package principal;

import java.awt.event.KeyEvent;
import java.awt.event.KeyListener;

import javax.swing.JPanel;

import niveles.Escenario;

import juego.AlgoTank;
import juego.enums.tipoMovimiento;

public class AlgoTankMovimiento extends JPanel implements KeyListener {

	/**
	 * 
	 */
	private static final long serialVersionUID = 1L;
	private Escenario escenario;
	@Override
	public void keyPressed(KeyEvent event) {
		
			AlgoTank algoTank = escenario.getAlgoTank();
			tipoMovimiento nuevaDireccion = null;
			
			if (algoTank.getMovimientosRestantes() <= 0) {
				switch (event.getKeyCode()) {
					case KeyEvent.VK_UP: nuevaDireccion = tipoMovimiento.arriba;break;			
					case KeyEvent.VK_DOWN: nuevaDireccion = tipoMovimiento.abajo; break;
					case KeyEvent.VK_LEFT: nuevaDireccion = tipoMovimiento.izquierda; break;
					case KeyEvent.VK_RIGHT: nuevaDireccion = tipoMovimiento.derecha; break;
					case KeyEvent.VK_SPACE: algoTank.disparar(); break;
				}
				if (nuevaDireccion != null) { 
					if (nuevaDireccion != algoTank.getDireccion()) {
						algoTank.setDireccion(nuevaDireccion);
					} else {	
						if (algoTank.puedoMover(nuevaDireccion)) {
							algoTank.mover(nuevaDireccion);
						}
					}
				}
					
			}
		}
		
	
	public void setEscenario(Escenario escenario){
		this.escenario = escenario;
	}


	@Override
	public void keyReleased(KeyEvent e) {
		// TODO Auto-generated method stub
		
	}


	@Override
	public void keyTyped(KeyEvent e) {
		// TODO Auto-generated method stub
		
	}


}
